var express = require("express");
var router = express.Router();
var db = require("../dataBase/db");

/* GET home page. */
router.get("/", (req, res,) => {
  let sql = "SELECT * FROM `houses` ";
  db.query(sql, (err, data) => {
    // 如果信息为错误的话，返回查询失败
    if (err) {
      res.json({ msg: '查询失败', err })
      // 否则就是查询成功，然后返回数据
    }
    else {
      res.json({ msg: '查询成功', data })
    }

  })
});



// 添加
router.post('/add', (req, res) => {
  let sql = 'insert into houses (title, description, price,area,bedrooms,bathrooms,address,city,state,zip_code,country,latitude,longitude,construction_year,property_type,ownership,amenities,status) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'
  // 错误信息和数据
  db.query(sql, [req.body.title,
  req.body.description,
  req.body.price,
  req.body.area,
  req.body.bedrooms,
  req.body.bathrooms,
  req.body.address,
  req.body.city,
  req.body.state,
  req.body.zip_code,
  req.body.country,
  req.body.latitude,
  req.body.longitude,
  req.body.construction_year,
  req.body.property_type,
  req.body.ownership,
  req.body.amenities,
  req.body.status],
    (err, result) => {
      // 如果信息为错误的话，返回查询失败
      if (err) {
        res.json({ msg: '添加失败', err })
        // 否则就是查询成功，然后返回数据
      } else {
        // 如果result:结果行数为一行的时候添加成功并且
        if (result.affectedRows == 1) {
          // 数据库为新插入的行自动生成的ID(如果数据库表有自增主键的话)
          res.json({ msg: '添加成功', id: result.insertId })
          // 否则添加失败
        } else {
          res.json({ msg: '添加失败' })
        }
      }
    })
})

// 删除
router.delete('/delete', (req, res) => {
  let sql = 'DELETE FROM `houses` WHERE `house_id` = ?'
  // 错误信息和数据
  db.query(sql, [req.query.house_id], (err, data) => {// 这里应该使用 
    // req.query.id 或者 req.params.id 来获取要删除的 id
    // 如果信息为错误的话返回查询失败
    if (err) {
      res.json({ msg: '删除失败', err })
      // 否则就是查询成功，然后返回数据
    } else {
      // 应该返回 affectedRows
      res.json({ msg: '删除成功', data })
    }
  })

})

// 修改
router.post('/update', (req, res) => {
  let sql = 'UPDATE `houses` SET `title` = ? WHERE `house_id` = ?'
  // 错误信息和数据
  db.query(sql, [req.body.title,req.query.house_id], (err, data) => {
    // 如果信息为错误的话返回查询失败
    if (err) {
      res.json({ msg: '修改失败', err })
      // 否则就是查询成功，然后返回数据
    } else {
      res.json({ msg: '修改成功', data })
    }
  })

})

// 搜索
router.get('/search', (req, res) => {
  let sql = 'select * from houses where title = ?'
  db.query(sql, [req.query.title], (err, data) => {
    if (err) {
      res.json({ msg: '搜索失败'.err })
    } else {
      res.json({ msg: '搜索成功', data })
    }
  })
})

module.exports = router;
